import axios from 'axios'
import url from './url'
import {
  Message
} from 'element-ui'
const ajax = axios.create({
  // baseURL: 'http://energy-consumer-web-fnw-test.topaas.enncloud.cn',
  // timeout: 10000 // request timeout
})
axios.defaults.headers.post['Content-Type'] = 'application/jsoncharset=UTF-8'
// axios.defaults.retry = 1 //重试次数
// axios.defaults.retryDelay = 3000 //重试延时
// axios.defaults.shouldRetry = (error) => true //重试条件，默认只要是错误都需要重试
// 请求拦截器
ajax.interceptors.request.use(config => {
  config.headers['ticket'] = sessionStorage.getItem('ticket')
  return config
}, error => {
  return Promise.reject(error)
})
// 响应拦截器
ajax.interceptors.response.use(data => {
  if (data.data.code == 1011 || data.data.code == 1003 || data.data.code == 1004 || data.data.errno === 1004) {
    window.location.href = url.login + '/oauth?redirect_uri=' + encodeURIComponent(window.location.href.split('?')[0])
  }
  return data
}, err => {
  // console.log(err.config)
  // var config = err.config
  // // 判断是否配置了重试
  // if (!config || !config.retry) return Promise.reject(err)

  // if (config.url === 'http://energy-consumer-web-fnw-test.topaas.enncloud.cn/energyBoardWeb/getEleEnergys') {
  //   return Promise.reject(err)
  // }

  // if (!config.shouldRetry || typeof config.shouldRetry != 'function') {
  //   return Promise.reject(err)
  // }

  // //判断是否满足重试条件
  // if (!config.shouldRetry(err)) {
  //   return Promise.reject(err)
  // }

  // // 设置重置次数，默认为0
  // config.__retryCount = config.__retryCount || 0

  // // 判断是否超过了重试次数
  // if (config.__retryCount >= config.retry) {
  //   return Promise.reject(err)
  // }

  // //重试次数自增
  // config.__retryCount += 1

  // //延时处理
  // var backoff = new Promise(function (resolve) {
  //   setTimeout(function () {
  //     resolve()
  //   }, config.retryDelay || 1)
  // })

  // //重新发起axios请求
  // return backoff.then(function () {
  //   return axios(config)
  // })
})
export default ajax